package com.yb0os1;

import com.yb0os1.List.MyArrayList;
import com.yb0os1.List.MyLinkedList;
import com.yb0os1.Map.MyHashMap;

public class Main {


    public static void main(String[] args) {
//        testMyHashMap();
//        testArrayList();
        testLinkedList();
    }


    private static void testMyHashMap() {
        MyHashMap<String, String> myHashMap = new MyHashMap();
        int count = 1000;
        for (int i = 0; i < count; i++) {
            myHashMap.put(String.valueOf(i), String.valueOf(i));
        }
        System.out.println(myHashMap.size());
        myHashMap.traverse();
    }

    private static void testArrayList() {
        MyArrayList<Integer> integers = new MyArrayList<>(5);

        for (int i = 0; i < 10; i++) {
            integers.add(i + 10);
        }
        for (int i : integers) {
            System.out.println(i);
        }
        System.out.println(integers.size());
        integers.remove(6);//删除index为6的 但是想要删除元素为6怎么操作？ 函数接收的使用需要使用Object 不能使用泛型
        integers.remove(Integer.valueOf(12));

        for (int i : integers) {
            System.out.println(i);
        }
        System.out.println(integers.size());
    }

    private static void testLinkedList() {
        MyLinkedList<Integer> lst = new MyLinkedList<>();
        lst.add(0);
        lst.add(1);
        lst.add(2);
        lst.add(3);
        lst.add(4);
        lst.add(5);
        lst.add(6);
        lst.add(7);
        lst.remove(0);
        lst.forEach(System.out::println);
    }
}